#pragma once

#include "Shader.h"

namespace Graphics
{
	class TextureArray;
}

namespace Graphics
{
class MultiTextureShader : public Shader
{
	RTTI_DECLARATIONS(MultiTextureShader, Graphics::Shader)
public:
	MultiTextureShader(void);

	virtual ~MultiTextureShader(void);

	bool Initialize(HWND hwd);

	void Denitialize();

	bool Render(int index, D3DXMATRIX, D3DXMATRIX, D3DXMATRIX, TextureArray* textures);

private:
	bool InitializeShader(HWND hwnd, const char* vsFilename, const char* psFilename);

	void DeinitializeShader();

	bool SetShaderParameters(D3DXMATRIX, D3DXMATRIX, D3DXMATRIX, TextureArray* textures);
};
}